// import 'package:flutter/cupertino.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_screenutil/flutter_screenutil.dart';
// typedef _StringClickCallBack<T> = void Function(int selectIndex,T data);
//
// class ASRCustomBottomDialog {
//
//   static void showStringPicker<T>(
//       BuildContext context, {
//         @required List<T> data,
//         String title,
//         int selectIndex=0,
//         @required _StringClickCallBack clickCallBack,
//       }) {
//
//     openModalPicker(context,title: title,data: data,clickCallBack: clickCallBack,selectIndex: selectIndex);
//   }
//
//   static void openModalPicker<T>(BuildContext context,{String title,List<T> data,_StringClickCallBack clickCallBack,int selectIndex}){
//
//     showModalBottomSheet(
//       context: context,
//       useRootNavigator: true,
//       backgroundColor: Colors.transparent,
//       builder: (BuildContext context){
//         return Container(
//           height: title==null?(data.length) * 100.w+80.w:(data.length) * 100.w+160.w,
//           padding: EdgeInsets.only(bottom: ScreenUtil().bottomBarHeight),
//           decoration: BoxDecoration(
//             color: Colors.white,
//             borderRadius:  BorderRadius.only(topLeft: Radius.circular(30.w),topRight: Radius.circular(30.w)),
//           ),
//           child:Column(
//             mainAxisSize: MainAxisSize.min,
//             mainAxisAlignment: MainAxisAlignment.end,
//             children: [
//               Visibility(child: Container(
//                 height: 80.w,
//                 alignment: Alignment.center,
//                 child: Text(title??'请选择',style: TextStyle(
//                     color: Color(0xff1A1A1A),fontSize: 28.sp
//                 ),),
//               ),visible: title!=null,),
//               DialogItem(selectIndex: selectIndex,data: data,callBack: clickCallBack,),
//               GestureDetector(
//                 onTap: (){
//                   Navigator.of(context,rootNavigator: true).pop();
//                 },
//                 child: Container(
//                   alignment: Alignment.center,
//                   height: 80.w,
//                   color: Colors.white,
//                   child: Text('取消',style: TextStyle(
//                     color: Color(0xff1A1A1A),fontSize: 28.sp
//                   ),),
//                 ),
//               )
//             ],
//           ),
//         );
//       }
//     );
//   }
//
// }
//
// class DialogItem<T> extends StatefulWidget{
//   final _StringClickCallBack callBack;
//   final List<T> data;
//   final int selectIndex;
//   const DialogItem({Key key, this.callBack,this.data,this.selectIndex,}) : super(key: key);
//
//   @override
//   _DialogItemState createState() {
//     // TODO: implement createState
//     return _DialogItemState();
//   }
//
// }
//
// class _DialogItemState<T> extends State<DialogItem>{
//
//   int selectIndex;
//
//   @override
//   void initState() {
//     // TODO: implement initState
//     super.initState();
//     selectIndex = widget.selectIndex;
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     // TODO: implement build
//     return Expanded(child: ListView.builder(shrinkWrap: true,itemCount: widget.data.length,itemBuilder:(BuildContext context,int index){
//       return GestureDetector(
//         onTap: (){
//           setState(() {
//             selectIndex = index;
//             widget.callBack(index,widget.data[index]);
//             Navigator.of(context,rootNavigator: true).pop();
//           });
//         },
//         child: Container(
//           alignment: Alignment.center,
//           child: Container(
//             child: Stack(
//               children: [
//                 Container(
//                   padding: EdgeInsets.only(left: 40.w,right: 40.w,),
//                   height: 100.w,
//                   child: Align(child: Row(
//                     children: [
//                       Expanded(child: Text('${widget.data[index]}x',style: TextStyle(
//                           color: Color(0xff1A1A1A),fontSize: 28.sp
//                       ),maxLines: 1,),),
//                       SizedBox(width: 40.w,),
//                       Visibility(child: Icon(Icons.check,color: Colors.redAccent,size: 28.w,),visible: (index==selectIndex),)
//                     ],
//                   ),alignment: Alignment.center,),),
//                 Positioned(child: Container(color: Color(0xffF2F2F2),height: 1,),bottom: 1,left: 0,right: 0,)
//               ],
//             ),
//           ),
//         ),
//       );
//     }),);
//   }
//
// }